Cloud computing refers to the access of computing resources over a computer network. A common shorthand for a cloud computing service (or an aggregation of all existing cloud services) is “the cloud.” Cloud computing allows for a functional separation between the computing resources used and the physical machine where the user is working. The computing resources may reside in a local network or outside the local network, for example, in an internet connected datacenter. The user may access the resources in the cloud using a personal computer (PC), workstation, laptop computer, mobile phone, personal digital assistant (PDA) or the like. The principle behind the cloud is that any computer connected to the internet is connected to the same pool of computing power, applications, and files. For example, users can store and access personal files such as music, pictures, videos, and bookmarks or play games or use productivity applications on a remote server rather than physically carrying around a storage medium such as a DVD or hard drive.
Since the cloud is the underlying delivery mechanism, cloud based applications and services may support any type of software application or service in use today. All of the development and maintenance tasks involved in provisioning the applications are performed by a service provider. The user's computer may contain very little software or data (perhaps a minimal operating system and web browser only), serving as little more than a display terminal for processes occurring on a network of computers, potentially located far away. Cloud computing frees users from certain hardware and software installation and maintenance tasks through the use of simpler hardware that accesses a vast network of computing resources (processors, servers, data storage devices, etc.). The sharing of resources reduces the cost to individuals. Users can now routinely use data intensive applications driven by cloud technology which were previously unavailable due to cost and deployment complexity.
In some systems, the cloud may spawn a new server instances (e.g., application server instances) in response to the load received from users' devices. One problem with conventional systems, however, is that since the cloud can handle relatively large loads, it may be difficult or impossible for a single user on a single user machine to generate a load large enough to cause the cloud to spawn new server instances. Thus, the cloud may not need to spawn a new server instance when tested by a single user machine, and the functionality of the cloud may not be properly tested.